home *** CD-ROM | disk | FTP | other *** search
/ Aminet 20 / Aminet 20 (1997)(GTI - Schatztruhe)[!][Aug 1997].iso / Aminet / comm / misc / MIAMIlog.lha / Miamilog / MIAMI_log.rexx < prev   
OS/2 REXX Batch file  |  1997-05-27  |  5KB  |  168 lines

  1. /*    MIAMI_LOG
  2.     (C) 27.5.97 A.Teichmann@t-online.de
  3.     $ver=1.3
  4.  
  5.     Programm zum mitschneiden der Online Zeiten im Internet durch MIAMI im
  6.     Ncomm Logfile Format.Kann jederzeit auch vor dem Aufruf von Miami 
  7.     aufgerufen werden...,es wartet in dem Fall erst auf den Start von 
  8.     Miami.Wenn Miami beendet wird wir das Script ebenso beendet.Die mit-
  9.     geschnittene Zeit wird im Ncomm Logfile Format ausgegeben.evtl Zusatz-
  10.     gebühren (z.b.T-Online) werden (opt) als Zeit hochgerechnet damit 
  11.     evtl. Ncomm Logfile auswerter die Zusatzkosten auch erfasst.
  12.     details siehe MIAMI_LOG.guide
  13.  
  14.     Falls die Telekom ihre Tarife mal wieder ändern sollte ,kann in den
  15.     folgenden Zeilen der Telekom Takt angepasst werden.
  16.     evtl Pfadangabe für WAITFORPORT kann man dort auch ändern.
  17. */
  18. zeiteinheit=180        /* Sekunden angabe des Zeittaktes einer Einheit*/         
  19. einheitpfg=12        /* Gebühren angabe eines Taktes der Telekom in Pfg*/
  20. wait="rexx:waitforport"    /* Pfad zu WaitforPort */
  21.  
  22.  
  23.     geton=0;getoff=0
  24.     options results
  25.     parse arg zusatzgeb log
  26.     if log ="" then if zusatzgeb ="" then signal komp
  27.     if log ="" then signal ERROR
  28.     zzg = "1"
  29.     if zusatzgeb = "0" then zzg ="0"
  30.     logg=strip(log)
  31.     pfg = zusatzgeb
  32. warte:
  33.     address command wait "MIAMI.1"
  34.     if RC~=0 then signal warte
  35.     do forever
  36.     if show("p","MIAMI.1") = 1 then do
  37.                 ADDRESS MIAMI.1
  38.                 ISONLINE
  39.                 IF RC = 1 THEN if geton=0 then call ONLINE
  40.                 IF RC = 0 THEN if geton=1 then call OFFLINE
  41.                 end
  42.         if show("p","MIAMI.1") = 0 then leave
  43.         if getoff=1 then do
  44.             getoff=0
  45.             geton=0
  46.             end
  47.     address command wait "MIAMI"
  48.     END
  49.     if geton=1 then if getoff=0 then call OFFLINE
  50.     exit
  51. ONLINE:
  52.     bbb=date(w)
  53.     tiz1=time(n)
  54.     aaa=date(n)
  55.     tn1=left(bbb,3)
  56.     tz1=left(aaa,2)
  57.     mn1=substr(aaa,4,3)
  58.     jz1=substr(aaa,8,4)
  59.     on=tiz1
  60.     au1= "Internet Telefon Gebühren"
  61.     au2= "--------------------------------"
  62.     au3= "Login:  "tn1" "mn1" "tz1" "on" "jz1
  63.     geton=1
  64.     return
  65. OFFLINE:
  66.     getoff=1
  67.     bbb=date(w)
  68.     tiz2=time(n)
  69.     aaa=date(n)
  70.     tn2=left(bbb,3)
  71.     tz2=left(aaa,2)
  72.     mn2=substr(aaa,4,3)
  73.     jz2=substr(aaa,8,4)
  74.     off=tiz2
  75.     au4= "Logout: "tn2" "mn2" "tz2" "off" "jz2
  76.     t1=on
  77.     t2=off
  78.     h1=left(t1,2)
  79.     h2=left(t2,2)
  80.     m1=substr(t1,4,2)
  81.     m2=substr(t2,4,2)
  82.     s1=substr(t1,7,2)
  83.     s2=substr(t2,7,2)
  84.         if s1>s2 then s2=s2+60
  85.         if s2>60 then m1=m1+1
  86.         if m1>m2 then m2=m2+60
  87.         if m2>60 then h1=h1+1
  88.         if h1>h2 then h2=h2+24
  89.     eh=h2-h1
  90.     em=m2-m1
  91.     es=s2-s1
  92.         if length(eh) =1 then eh="0"eh
  93.         if length(em) =1 then em="0"em
  94.         if length(es) =1 then es="0"es
  95.     au5= "Time online: "eh":"em":"es
  96.     au6= " "
  97.     /* ZUSATZGEBÜHREN */
  98.     gebhr=(eh*(pfg*60))/einheitpfg
  99.     gebhr2=(em*pfg)/einheitpfg
  100.     gebhr3=1
  101.         if es=0 then gebhr3=0 else gebhr3=1
  102.     stdon=trunc((((gebhr+gebhr2+gebhr3)*zeiteinheit)/60)/60)
  103.     minon=trunc((((gebhr+gebhr2+gebhr3)*zeiteinheit)/60)-(stdon*60))
  104.     secon=trunc(((gebhr+gebhr2+gebhr3)*zeiteinheit)-(stdon*3600)-(minon*60))
  105.         if length(stdon) =1 then stdon="0"stdon
  106.         if length(minon) =1 then minon="0"minon
  107.         if length(secon) =1 then secon="0"secon
  108.     poff= stdon":"minon":"secon
  109.     pon="00:00:00"
  110.     bu1= "Internet Zusatzkosten "pfg" pfg/min"
  111.     bu2= "--------------------------------"
  112.     bu3= "Login:  "tn1" "mn1" "tz1" "pon" "jz1
  113.     bu4= "Logout: "tn2" "mn2" "tz2" "poff" "jz2
  114.     bu5= "Time online: "stdon":"minon":"secon
  115.     bu6= " "
  116.     /* LOGFILE */
  117.         if ~exists(logg) then call open(log,logg,"W")
  118.         if exists(logg) then call open(log,logg,"A")
  119.     call WriteLN(log,au1)
  120.     call WriteLN(log,au2)
  121.     call WriteLN(log,au3)
  122.     call WriteLN(log,au4)
  123.     call WriteLN(log,au5)
  124.     call WriteLN(log,au6)
  125.         if zzg = "1" then call WriteLN(log,bu1)
  126.         if zzg = "1" then call WriteLN(log,bu2)
  127.         if zzg = "1" then call WriteLN(log,bu3)
  128.         if zzg = "1" then call WriteLN(log,bu4)
  129.         if zzg = "1" then call WriteLN(log,bu5)
  130.         if zzg = "1" then call WriteLN(log,bu6)
  131.     Call Close(log)
  132.     return
  133. ERROR:
  134.     say "ERROR."
  135.     say "Fehler bei Argumenten !"
  136.     say
  137. KOMP:
  138.     say "Miami_log.rexx       /       MIAMI Gebühren -> Ncomm Logfile"
  139.     say "(c) 1996/97                          A.Teichmann@t-online.de"
  140.     say 
  141.     say "SYNTAX:"
  142.     say "       rexx:rx MIAMI_log <zusatzkosten/min> <ncomm logfile>"
  143.     say
  144.     say "Options:"
  145.     say 
  146.     say "       <zusatzkosten/min>"
  147.     say 
  148.     say "       sind evtl. Zusatzkosten für Internet benutzung die der"
  149.     say "       jeweilige Provider verlangt.z.b. T-Online (5 pfg/min)"
  150.     say "       Angegeben werden sollte es in Pfennigen."
  151.     say "       Daraus wird eine virtuelle Online Zeit errechnet und"
  152.     say "       auch für Ncomm mit aufbereitet."
  153.     say "       wird 0 angegeben ,werden keine Zusatzkosten errechnet."
  154.     say
  155.     say "       <ncomm logfile>"
  156.     say 
  157.     say "       Aktueller Pfad und Name zum Ncomm Logfile."
  158.     say "       Sollte kein File existieren ,wird ein neues angelegt."
  159.     say "       ansonsten werden die Gebühren mit an bestehendes File"
  160.     say "       angehängt."
  161.     say
  162.     say "Beispiel: rexx:rx MIAMI_log 5 ncomm:Ncomm.logfile"
  163.     say 
  164.     say "berechnet 5 pfg/min (für T-online) und legt das ergebnis bei "
  165.     say "ncomm:Ncomm.logfile ab."
  166.     say
  167.     exit
  168.